package control.transporte;

import java.util.List;

import interfasesUnidades.Albergador;

import javax.swing.ImageIcon;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import unidades.Bombardero;
import unidades.Camion;
import unidades.Tanque;
import unidades.Unidad;
import vista.vistaTransportes;

public class ControlCambioSeleccion implements ListSelectionListener{
	private vistaTransportes vista;
	
	public ControlCambioSeleccion(vistaTransportes vista){
		this.vista = vista;
	}
	
	public void valueChanged(ListSelectionEvent e) {
		if (!e.getValueIsAdjusting()){
			JList lista = (JList)e.getSource();
			Unidad unidad = (Unidad)lista.getSelectedValue();
			if (unidad instanceof Albergador){
				Albergador transporte = (Albergador) unidad;
				vista.llenarDatos(unidad);
				ImageIcon imagen = elegirImagen(unidad);
				if (imagen != null)
					vista.setearImagen(imagen);
				else
					vista.blanquearImagen();
				List unidades = transporte.ObtenerUnidades();
				Object[] vectorUnidades = unidades.toArray();
				vista.llenarListaUnidadesEnTransporte(vectorUnidades);
			} else
				vista.blanquearListaUnidadesEnTransp();	
		}
	}
	
	private ImageIcon elegirImagen(Unidad unidad){
		String rutaCamion = "./imagenes/componentes/camion.gif";
		String rutaTanque = "./imagenes/componentes/tanque.gif";
		String rutaBombardero = "./imagenes/componentes/bombardero.gif";
		ImageIcon imagen = null;
		if (unidad instanceof Camion){
			imagen = new ImageIcon(rutaCamion);
		}
		if (unidad instanceof Tanque){
			imagen = new ImageIcon(rutaTanque);
		}
		if (unidad instanceof Bombardero){
			imagen = new ImageIcon(rutaBombardero);
		}
		return imagen;
	}

}
